-----------------------------------------------------------------------------
-       XACTXtract v0.97                                                    -
- Tool for extracting .XWB wavebanks & providing info about .XSB Soundbanks -
-----------------------------------------------------------------------------

by F.S., 19.10.2010
The main functionality of xactxtract is extracting .xwb (XACT Wavebank) files of version 43 (other versions MAY work as well).
The tools output messages are mostly in German, sorry.

The obligaroty legal note:
The author, of this software accepts no responsibility for damages resulting from the use of this product and makes no warranty or representation, either express or implied, including but not limited to, any implied warranty of merchantability or fitness for a particular purpose. This software is provided "AS IS", and you, its user, assume all risks when using it. 
(but calm down: xactxtract opens the .xwb files only for reading...so there shouldn't be any damage ;-))

1) xactxtract is able to extract xWMA (+PCM) data from .XWBs. In order to convert the extracted .XWMAs to .wav, you need xWMAEncode.exe - check the links in the forum in order to get it. Then copy xWMAEncode.exe and xactxtract.exe into the same directory where the .XWB files are.

2) Open the command line and change into that directory.

3) Extracting and converting

3a) If you have a .xwb file called sample.xwb and you want .xwma files as result (but there's almost no player for .xwma), then type:
xactxtract -x sample.xwb

xactxtract will create an output directory 'sample' and extracts the .xwma files into that directory

3b) BETTER: to extract and CONVERT your .xwb to .wav files (remember: xWMAEncode has to be in the same directory):
xactxtract -x2 sample.xwb

IN CASE YOU GET AN "Out of Memory" error: this is not a bug in the xactxtract script, but in the program I used to 'translate' it into an executable. In this case, use the "safe" option (slower, but should work):
xactxtract -safe -x2 sample.xwb

As a result you'll get the subdirectory 'sample' with the files sample00000.wav, sample00001.wav,.... just drag&drop them all at once to the playlist of your favourite player ;-)

3c) MUCH BETTER:  Extract ALL .xwbs in the directory at once (this may take same time!)
xactxtract -x2 *.xwb

Beware: Compression ratios like 1:10 or even 1:20 are not unusual for xWMA - so you should have enough free space on your hard disk.

4) more functions
xactxtract <name>.xsb/.xwb     ...prints info about the given wavebank/soundbank
xactxtract -c <name>.xsb       ...corrects the checksum of the soundbank (only for experts)
xactxtract -x1 <name>.xwb      ...same as -x, but with more info (same for: -x3= -x2 + Infos)

P.S.: Don't be surprised by the enormous size of xactxtract.exe (currently 3.2MB). The program is actually a perl script that I transformed into an executable, because otherwise you would have to install Perl in order to use it. Thus, the .exe is that big, because it contains a whole Perl runtime environment (similar to the JVM in Java).


------------------------------------------------------------------------
Change-Log von 0.9 auf 0.95:
v0.97 (mostly untested !)
-xactxtract can now handle  the "Saints Row 2" .xsb files (don't have cue names included)
-Added hot fix (option "-safe") for "Out of memory" error

v0.96
-fixed some minor flaws (e.g. file containing spaces ("MUS 420.xwb") are now handled correctly).

v0.95:
- Used the freely obtainable "Strawberry Perl" and "PAR" in order to create the executable
- tested: extracts all PCMs & xWMAs from the .XWB files of Drakensang, Drakensang 2: The River of Time + Addon
